// components/location/position.js
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
var qqmapsdk = new QQMapWX({
  key: 'RDHBZ-7SLLD-JSS4K-HW34O-64EYH-ZXFHT' // 必填
});
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    location:"",
    lat:"",
    lng:"",
  },

  /**
   * 组件的方法列表
   */
  methods: {
    getUserLocation: function () {
      let vm = this
      wx.getSetting({
        success: (res) => {
          // res.authSetting['scope.userLocation'] == undefined  表示 初始化进入该页面
          // res.authSetting['scope.userLocation'] == false  表示 非初始化进入该页面,且未授权
          // res.authSetting['scope.userLocation'] == true  表示 地理位置授权
          // 拒绝授权后再次进入重新授权
          if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {
            // console.log('authSetting:status:拒绝授权后再次进入重新授权', res.authSetting['scope.userLocation'])
            wx.showModal({
              title: '请求授权当前位置',
              content: '需要获取你的地理位置，请确认授权',
              success: function (res) {
                if (res.cancel) {
                  wx.showToast({
                    title: '拒绝授权',
                    icon: 'none'
                  })
                  setTimeout(() => {
                   // wx.navigateBack()
                  }, 1500)
                } else if (res.confirm) {
                  wx.openSetting({
                    success: function (dataAu) {
                      // console.log('dataAu:success', dataAu)
                      if (dataAu.authSetting["scope.userLocation"] == true) {
                        //再次授权，调用wx.getLocation的API
                        vm.getLocation(dataAu)
                      } else {
                        wx.showToast({
                          title: '授权失败',
                          icon: 'none'
                        })
                        setTimeout(() => {
                          //wx.navigateBack()
                        }, 1500)
                      }
                    }
                  })
                }
              }
            })
          }
          // 初始化进入，未授权
          else if (res.authSetting['scope.userLocation'] == undefined) {
            // console.log('authSetting:status:初始化进入，未授权', res.authSetting['scope.userLocation'])
            //调用wx.getLocation的API
            vm.getLocation(res)
          }
          // 已授权
          else if (res.authSetting['scope.userLocation']) {
            // console.log('authSetting:status:已授权', res.authSetting['scope.userLocation'])
            //调用wx.getLocation的API
            vm.getLocation(res)
          }
        }
      })
    },
    // 微信获得经纬度
    getLocation: function (userLocation) {
      let vm = this
      wx.getLocation({
        type: "wgs84",
        success: function (res) {
          // console.log('getLocation:success', res)
          var latitude = res.latitude
          var longitude = res.longitude
          qqmapsdk.reverseGeocoder({
            location: {
              latitude: res.latitude,
              longitude: res.longitude
            },
            success: function (addressRes) {            
              const result = addressRes.result;
              console.log(result);
              vm.setData({
                location: result.address,
                lat:result.location.lat,
                lng: result.location.lng,
              })

            }
          })
        },
        fail: function (res) {
          // console.log('getLocation:fail', res)
          if (res.errMsg === 'getLocation:fail:auth denied') {
            wx.showToast({
              title: '拒绝授权',
              icon: 'none'
            })
            setTimeout(() => {
              wx.navigateBack()
            }, 1500)
            return
          }
          if (!userLocation || !userLocation.authSetting['scope.userLocation']) {
            vm.getUserLocation()
          } else if (userLocation.authSetting['scope.userLocation']) {
            wx.showModal({
              title: '',
              content: '请在系统设置中打开定位服务',
              showCancel: false,
              success: result => {
                if (result.confirm) {
                  wx.navigateBack()
                }
              }
            })
          } else {
            wx.showToast({
              title: '授权失败',
              icon: 'none'
            })
            setTimeout(() => {
              wx.navigateBack()
            }, 1500)
          }
        }
      })
    },
  }
})
